.. _cmmIxSetSpeedPattern_T: cmmIxSetSpeedPattern_T ======================== ------------------------ SYNOPSIS ``````````` .. code-block:: none VT_I4 cmmIxSetSpeedPattern_T( [in] VT_I4 MapIndex, [in] VT_I4 SpeedMode, [in] VT_R8 Vel, [in] VT_R8 AccelTime, [in] VT_R8 DecelTime ) DESCRIPTION ````````````` - cmmIxSetSpeedPattern_T 은 “기본보간제어”의 이송 속도에 대한 환경설정을 정의합니다. - cmmIxSetSpeedPattern 함수와는 다르게 가속 및 감속도 설정 시 펄스 단위가 아닌 시간 단위(msec) 로 설정 합니다. PARAMETER ````````````` - MapIndex: 맵번호(Map index), 이 맵번호를 사용하기전에 먼저 cmmIxMapAxes() 함수를 통하여 해당 맵번호에 유효한 축들이 맵핑되어 있어야 합니다. \ - SpeedMode : 속도모드를 설정합니다. 설정값은 다음과 같습니다. .. csv-table:: :widths: 10 85 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 또는 cmSMODE_C, CONSTANT 속도모드 => 가감속을 수행하지 않습니다. 1 또는 cmSMODE_T, TRAPEZOIDAL 속도모드 => 사다리꼴 가감속을 수행합니다. 2 또는 cmSMODE_S, S-CURVE 속도모드 => S-CURVE 가감속을 수행합니다. - Vel : 작업속도를 PPS 단위로 설정합니다. \ - AccTime : 가속 시간을 밀리초(msec) 단위로 설정합니다. \ - DecTime : 감속 시간을 밀리초(msec) 단위로 설정합니다. RETURN VALUE ````````````` +--------------+-----------+ | Value | Meaning | +==============+===========+ | 음수 | 수행 실패 | +--------------+-----------+ | cmERR_NONE | 수행 성공 | +--------------+-----------+ REFERENCE ````````````` :ref:`cmmIxSetSpeedPattern` 함수 설명의 REFERENCE 참고 EXAMPLE ``````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “Cmmsdk.h” #include “CmmsdkDef.h” #define MAP0 0 // 보간 맵 정의 cmmIxMapAxes ( MAP0, cmX1_MASK | cmY1_MASK, 0 ); /* MAP0 로 설정된 축들의 보간 제어를 위해 작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다.*/ cmmIxSetSpeedPattern_T ( MAP0, // 보간 맵 번호 cmSMODE_T, // 가감속 모드 1000, // 보간 작업 속도 (PPS) 1000, // 가속 시간 (msec) 1000 // 감속 시간 (msec) ); // 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다. Double fDistList[2] = {3000, 4000}; cmmIxLineStart ( MAP0, fDistList ); .. code-block:: none :linenos: Visual Basic Dim nMapIdx As Long ‘보간 맵 정의 Dim fDistList(2) As Double ‘ 이송 좌표값의 배열 정보 nMapIdx = 0 Call cmmIxMapAxes ( nMapIdx, cmX1_MASK Or cmY1_MASK, 0 ) ‘MAP0 로 설정된 축들의 보간 제어를 위해 ‘작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다. Call cmmIxSetSpeedPattern_T ( nMapIdx, cmSMODE_T, 1000, 1000, 1000 ) ‘ 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다. fDistList(0) = 3000 fDistList(1) = 4000 Call cmmIxLineStart ( nMapIdx, fDistList(0) ) .. code-block:: none :linenos: Delphi var nMapIdx : LongInt; // 보간 맵 정의 fDistList : Array[0..1] of Double; // 이송 좌표값의 배열 정보 begin nMapIdx := 0; cmmIxMapAxes ( nMapIdx, cmX1_MASK or cmY1_MASK, 0 ); { MAP0 로 설정된 축들의 보간 제어를 위해 작업 속도 1000 PPS, 가속 시간 1 초(1000 ms), 감속 시간 1 초(1000 ms) 로 설정합니다. } cmmIxSetSpeedPattern_T ( nMapIdx, cmSMODE_T, 1000, 1000, 1000 ); // 현재 위치가 (0, 0) 이라고 가정할 때, (3000, 4000) 좌표로 직선 보간 이송을 수행합니다. fDistList[0] := 3000; fDistList[1] := 4000; cmmIxLineStart ( nMapIdx, @fDistList ); end; .. seealso:: :ref:`cmmIxSetSpeedPattern`, :ref:`cmmIxGetSpeedPattern_T`